Digital video recorders are implemented as client devices to receive video and/or audio content in the form of broadcast and/or interactive television entertainment and information. A digital video recorder includes a hard disk memory so that a viewer can record multiple television programs and other content of interest to the viewer. A user can schedule what programs to record, and then watch them back at her leisure.
A digital video recorder also provides the viewer with convenient pause functionality, where she can pause the broadcast of a television program and return later to watch the program, while still in progress, from the point at which it was paused. To implement this functionality, a digital video recorder includes a pause buffer to record the broadcast as it is being watched. At any point, the viewer can rewind and playback the buffered broadcast to replay a scene or watch something that she may have missed the first time. A pause buffer is typically configured as a circular, or ring, buffer on the hard disk memory and the amount of time which a television program can be delayed is dependent upon how much storage space is allocated for the pause buffer. When a pause buffer reaches capacity (e.g., after 30 minutes), the content corresponding to the beginning of a pause event will be overwritten. In this manner, the pause buffer functions as a sliding thirty minute recorder of the most recently displayed content.
Although the digital video recorder stores the content on the hard disk memory for later playback, the way the two types of recorded content—pause buffer and scheduled recordings—are created, managed, and structured on the disk is quite different. This has led to some issues that impact user experience. One problem concerns channel changes. Since the pause buffer records the content received on a current channel, a change to another channel results in the pause buffer ceasing recordation of the first channel and commencing recordation of the second channel. In some cases, when a viewer changes channels, any content stored in the pause buffer is deleted (commonly referred to as “flushing” the pause buffer). Thus, an accidental channel change can cause an undesired loss of content. As a result, a viewer can only access content maintained in the pause buffer for the duration of time that the viewer watches a particular channel without changing the channel.
Another issue arises when a user pauses a program that is back-to-back with a scheduled recording. Once the recording begins, it can be difficult to playback the previous program from the pause buffer. Another situation that poses design difficulties is the ability to take the paused content in the pause buffer and “save” it as a persistent recording to be viewed later.
Users also have a poor experience when trying to record back-to-back programs on the same channel. For example, suppose a first show A ends at 9:00 pm and a second show B is scheduled to begin at 9:00 pm. In current digital video recorders, a back-to-back recording for shows A and B will make a transition precisely at 9:00 pm. However, in some situations, the first show A may not precisely end at 9:00 pm, but instead might continue past 9:00 pm (such as much as 30 seconds or a minute). In this situation, the recording for show A will end too early (at 9:00 pm), and the viewer will miss the last portion of the show (e.g., 30 to 60 seconds). To view the missed portion, the viewer would need to watch the beginning portion of the second show B, which was to start at 9:00 pm, but effectively started after 9:00 pm (e.g., at 9:00:30 or 9:01:00). In other situations, show A may end too early, before 9:00 pm, resulting in an earlier start for show B. This results in the reverse problem, where the first portion of show B is at the tail end of the recording for show A. These scenarios for back-to-back recording can result in a confusing, and perhaps frustrating user experience.
Accordingly, for television-based entertainment, there is a need for techniques to improve the way pause buffers and recorded programs are managed.